#ifndef FLYWEIGHTB_H__
#define FLYWEIGHTB_H__

//include header
#include "Flyweight.h"

//using namespace


namespace npFlyweight
{
    //class forward declaration

    class FlyweightB : public Flyweight // class inheritance
    {
        //friend
        
        //embedded type
        
        public: FlyweightB();
        public: virtual ~FlyweightB();
        public: FlyweightB(const FlyweightB& cpy);
        public: FlyweightB& operator=(const FlyweightB& asn);
        public: FlyweightB(FlyweightB&& mov) noexcept;
        public: FlyweightB& operator=(FlyweightB&& mva) noexcept;
        public: virtual FlyweightB* clone() const;

        //other constructors

        //public methods
        public: virtual void operate(int n) throw();

        //protected methods

        //private methods

        //protected data

        //private data

        //others
    };
} // namespace npFlyweight


#endif //FLYWEIGHTB_H__
